/**角色类型 */
export type JxtechRole = {
  /**管理员部门路径 */
  adminDeptPath: [string, null];
  /**管理员范围 */
  adminRange: string;
  /**应用id */
  appId: string;
  /**是否常用 */
  common: boolean;
  /**创建人 */
  createPerson: string;
  /**创建时间 */
  createTime: string;
  /**修改人 */
  modifyPerson: [string, null];
  /**修改时间 */
  modifyTime: [string, null];
  /**组织id */
  orgId: string;
  /**资源id */
  resourceId: string;
  /**资源名称 */
  resourceName: string;
  /**资源类型 */
  resourceType: string;
  /**角色描述 */
  roleDescription: [string, null];
  /**角色id */
  roleId: string;
  /**角色名称 */
  roleName: string;
  /**角色类型 */
  roleType: string;
  /**角色类型名称 */
  roleTypeName: string;
  /**子组织id */
  subOrgId: string;
  /**是否可更新 */
  updatable: boolean;
  /**用户编号 */
  userNumbers: [string, number, null];
};

/**用户属性类型 */
export type JxtechUserAttribute = {
  /**用户邮箱 */
  userEmail: string;
  /**用户手机 */
  userMobile: string;
  /**用户密码已更改 */
  userPasswordChanged: string;
};

/**用户信息类型 */
export type JxtechUser = {
  /**账号是否过期 */
  accountNonExpired: boolean;
  /**账号是否锁定 */
  accountNonLocked: boolean;
  /**app */
  adminApp: string[];
  /**凭据是否过期 */
  credentialsNonExpired: boolean;
  /**部门编码 */
  deptCode: string | null;
  /**部门id */
  deptId: string | null;
  /**部门名称 */
  deptName: string | null;
  /**部门树路径 */
  deptTreePath: string | null;
  /**是否启用 */
  enabled: boolean;
  /**组织id */
  orgId: string | null;
  /**组织名称 */
  orgName: string | null;
  /**组织树路径 */
  orgTreePath: string | null;
  /**角色数组 */
  roles: JxtechRole[];
  /**工作站id */
  stationId: string | null;
  /**工作站名称 */
  stationName: string | null;
  /**子组织编码 */
  subOrgCode: string | null;
  /**子组织id */
  subOrgId: string | null;
  /**子组织名称 */
  subOrgName: string | null;
  /**子组织树路径 */
  subOrgTreePath: string | null;
  /**是否是远程管理员组织 */
  telenantAdminOrg: boolean;
  /**用户账号 */
  userAccount: string | null;
  /**用户属性 */
  userAttributes: JxtechUserAttribute | null;
  /**用户部门id */
  userDeptId: string | null;
  /**用户全名 */
  userFullName: string | null;
  /**用户id */
  userId: string | null;
  /**用户头像地址 */
  userImageUrl: string | null;
  /**用户等级 */
  userLevel: string | null;
  /**用户类型 */
  userType: string | null;
  /**用户部门列表 */
  userDeptList: UserDept[];
};

/**登录账号密码类型 */
export type JxtechLoginUser = {
  /**类型 */
  actionType?: string;
  /**账号 */
  account: String;
  /**密码 */
  password: String;
};

export type UserDept = {
  /**默认 */
  default: boolean;
  /**扩展属性 */
  extendAttributes: object | null;
  /**key */
  key: string;
  /**顺序 */
  orderNum: number;
  /**父key */
  parentKey: string | null;
  /**value */
  value: string;
};
